Allow disutils to detect implementation of linear algebra#387
Allow disutils to detect implementation of linear algebra#387mesonepigreco merged 1 commit intoSSCHAcode:masterfrom
Conversation
Currently, the libraries for linear algebra are hard coded and constrained. This makes the installation to fail in several environments, even when available BLAS/LAPACK libraries are present. This happens frequently with MKL. Since the interface of these routines is always the same, it is worth it to have a dynamical detection of the library, which is done through numpy directly.
|
Hasn't |
|
I honestly don't know from which version, but isn't the entire compilation still using Edit: of course this is more of a patch than a long-time solution (that can also support newer versions of numpy/python). |
|
Yes I remember discussing the fact that the code was getting problems with the new numpy libraries. I quick-fixed some of those problems so it will work for now, but unless we check all those things the code is going to get too "old" for the new numpy libraries and eventually not get the improvements that comes from new numpy versions. Just my grain of salt. For now this is OK. |
|
I totally agree. Again, this is just a little patch for the time being. Probably it will be good to have e.g. a cmake compilation or some of these more refined workflows for compilation. |
|
Due to the fact that we use FORTRAN, using Meson will fix this. Some scientific computational projects are migrating to Meson, but I don't know Meson enough for this. |
|
Hi @bastonero , is this also needed for cellconstructor? I see it passes the testsuite, so I guess we can merge. |
|
Hi @mesonepigreco, yes, I also opened a PR over there. |
mesonepigreco
left a comment
There was a problem hiding this comment.
The edit seems very good as it generalizes the lapack detection
Currently, the libraries for linear algebra are hard coded and
constrained. This makes the installation to fail in several
environments, even when available BLAS/LAPACK libraries
are present. This happens frequently with MKL. Since the
interface of these routines is always the same, it is worth it
to have a dynamical detection of the library, which is done
through numpy directly.